/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.publish.entity;

import org.hibernate.validator.constraints.Length;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

import com.thinkgem.jeesite.common.persistence.DataEntity;

/**
 * 退供单Entity
 * @author alex
 * @version 2017-05-04
 */
public class PublishBackforHeader extends DataEntity<PublishBackforHeader> {
	
	private static final long serialVersionUID = 1L;
	private String backforNum;		// 单号
	private String publishBillId;		// 采购单ID
	private String publishBillOrder;		// 采购单号
	private String supplierId;		// 供应商ID
	private String supplierName;		// 供应商名称
	private String backforReason;		// 退供原因
	private String status;		// 状态
	private Date backforDate;		// 退供时间
	private String boxNum;		// 总箱数
	private String pieceNum;		// 总件数
	private String auditBy;		// 审核人ID
	private String auditName;		// 审核人
	private Date auditDate;		// 审核人时间
	private String createName;		// 创建人
	private String updateName;		// 更新人
	
	public PublishBackforHeader() {
		super();
	}

	public PublishBackforHeader(String id){
		super(id);
	}

	@Length(min=0, max=30, message="单号长度必须介于 0 和 30 之间")
	public String getBackforNum() {
		return backforNum;
	}

	public void setBackforNum(String backforNum) {
		this.backforNum = backforNum;
	}
	
	@Length(min=0, max=30, message="采购单ID长度必须介于 0 和 30 之间")
	public String getPublishBillId() {
		return publishBillId;
	}

	public void setPublishBillId(String publishBillId) {
		this.publishBillId = publishBillId;
	}
	
	@Length(min=0, max=30, message="采购单号长度必须介于 0 和 30 之间")
	public String getPublishBillOrder() {
		return publishBillOrder;
	}

	public void setPublishBillOrder(String publishBillOrder) {
		this.publishBillOrder = publishBillOrder;
	}
	
	@Length(min=0, max=30, message="供应商ID长度必须介于 0 和 30 之间")
	public String getSupplierId() {
		return supplierId;
	}

	public void setSupplierId(String supplierId) {
		this.supplierId = supplierId;
	}
	
	@Length(min=0, max=50, message="供应商名称长度必须介于 0 和 50 之间")
	public String getSupplierName() {
		return supplierName;
	}

	public void setSupplierName(String supplierName) {
		this.supplierName = supplierName;
	}
	
	@Length(min=0, max=50, message="退供原因长度必须介于 0 和 50 之间")
	public String getBackforReason() {
		return backforReason;
	}

	public void setBackforReason(String backforReason) {
		this.backforReason = backforReason;
	}
	
	@Length(min=0, max=1, message="状态长度必须介于 0 和 1 之间")
	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getBackforDate() {
		return backforDate;
	}

	public void setBackforDate(Date backforDate) {
		this.backforDate = backforDate;
	}
	
	@Length(min=0, max=11, message="总箱数长度必须介于 0 和 11 之间")
	public String getBoxNum() {
		return boxNum;
	}

	public void setBoxNum(String boxNum) {
		this.boxNum = boxNum;
	}
	
	@Length(min=0, max=11, message="总件数长度必须介于 0 和 11 之间")
	public String getPieceNum() {
		return pieceNum;
	}

	public void setPieceNum(String pieceNum) {
		this.pieceNum = pieceNum;
	}
	
	@Length(min=0, max=30, message="审核人ID长度必须介于 0 和 30 之间")
	public String getAuditBy() {
		return auditBy;
	}

	public void setAuditBy(String auditBy) {
		this.auditBy = auditBy;
	}
	
	@Length(min=0, max=30, message="审核人长度必须介于 0 和 30 之间")
	public String getAuditName() {
		return auditName;
	}

	public void setAuditName(String auditName) {
		this.auditName = auditName;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getAuditDate() {
		return auditDate;
	}

	public void setAuditDate(Date auditDate) {
		this.auditDate = auditDate;
	}
	
	@Length(min=0, max=30, message="创建人长度必须介于 0 和 30 之间")
	public String getCreateName() {
		return createName;
	}

	public void setCreateName(String createName) {
		this.createName = createName;
	}
	
	@Length(min=0, max=30, message="更新人长度必须介于 0 和 30 之间")
	public String getUpdateName() {
		return updateName;
	}

	public void setUpdateName(String updateName) {
		this.updateName = updateName;
	}
	
}